package com.zhanglifan.service;

import com.zhanglifan.util.Page;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

 public interface BaseService<T> {
    //查询所有，带条件查询
     List<T> find(String hql, Class<T> entityClass, Object[] params);
    //获取一条记录
     T get(Class<T> entityClass, Serializable id);
    //分页查询，将数据封装到一个page分页工具类对象
     Page<T> findPage(String hql, Page<T> page, Class<T> entityClass, Object[] params);

    //新增和修改保存
     void saveOrUpdate(T entity);
    //批量新增和修改保存
     void saveOrUpdateAll(Collection<T> entitys);

    //单条删除，按id
     void deleteById(Class<T> entityClass, Serializable id);
    //批量删除
     void delete(Class<T> entityClass, Serializable[] ids);
}
